import type { Placement, Options } from '@popperjs/core'

export interface TooltipProps {
    content?: string;
    trigger?: 'hover' | 'click';
    placement?: Placement;//放置的位置
    manual?: boolean // 是否支持手动触发
    // 因为 Options中也有 placement这个属性，且优先级会比 上面这个 placement更高
    popperOptions?: Partial<Options> // Partial 可以将 Options中所有的属性从必选变为可选
    transition?: string // 动画
    openDelay?: number // 延迟显示
    closeDelay?: number // 延迟隐藏
}

export interface TooltipEmits {
    (e: 'visible-change', value: boolean): void
    (e: 'click-outside', value: boolean): void
}

export interface TooltipInstance {
    show: () => void;
    hide: () => void
}
